package leetcode;

import org.junit.Test;

/**
 * @author cino
 * justCode
 */
public class leetcode125 {

    @Test
    public void test() {
        System.out.println(isPalindrome("abcdcbaa"));

    }

    public boolean isPalindrome(String s) {
        // 第1步，去符号
        StringBuffer newStr = new StringBuffer();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            int cAscii = (int) c;
            // 48-57(数字) | 65-90(大写字母) | 97-122(小写字母)
            if ((cAscii>=48 && cAscii <=57)||(cAscii>=65 && cAscii <=90)||(cAscii>=97 && cAscii <=122)){
                newStr.append(c);
            }
        }
        // 第2步，转小写
        String s1 = newStr.toString().toLowerCase();
        // System.out.println(s1);
        //第3步，判断是否是回文(索引开始位 和 结束位 往中间依次判断)
        for (int i = 0;i < s1.length() / 2; i++){
            if (s1.charAt(i) != s1.charAt(s1.length() - 1 - i)) {
                return false;
            }
        }
        return true;
    }
}
